﻿using System;
using System.Runtime.InteropServices;

namespace Kyoh.Lib.Win32API.Shell
{
    /// <summary>Shell 関数群で取得・設定するファイル情報を示す構造体。</summary>
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
    public struct ShFileInfoW
    {
        /// <summary>アイコンのハンドラ。</summary>
        public IntPtr hIcon;
        /// <summary>アイコンのインデックス。</summary>
        public int iIcon;
        /// <summary>ファイルの属性。</summary>
        [CLSCompliant(false)]
        public uint dwAttributes;
        /// <summary>表示名。</summary>
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
        public string szDisplayName;
        /// <summary>ファイルの種類。</summary>
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
        public string szTypeName;
    }
}
